1. Field of the Invention
This invention relates generally to a computer system, and, more particularly, to computer systems including multiple peripheral devices.
2. Description of the Related Art
A typical computer system includes multiple buses, each conveying different signals and having different timings and protocols. Computer system components are typically coupled to one of the buses, and “bridge logic” is used to couple one bus to another. The bridge logic translates signals between the coupled buses, allowing the components of the computer system to communicate with one another.
For example, the typical computer system may include a central processing unit (CPU) and a memory coupled to a processor bus. A first bus bridge circuit called a “north” bridge may couple the processor bus to a first peripheral bus (e.g., a peripheral component interconnect or PCI bus). One or more devices may be coupled to the first peripheral bus. The CPU and the devices may communicate with one another via the processor bus, the “north” bridge, and the first peripheral bus.
The typical computer system may also include a second bus bridge circuit called a “south” bridge coupled between the first peripheral bus and a second peripheral bus (e.g., an industry standard architecture or ISA bus). Additional devices may be coupled to the second peripheral bus. The CPU, the devices coupled to the first peripheral bus, and the additional devices coupled to the second peripheral bus may communicate with one another via the processor bus, the “north” bridge, the first peripheral bus, the “south” bridge, and the second peripheral bus.
Modern “south” bridges include control logic for controlling various peripheral devices. For example, known “south” bridges include an integrated drive electronics (IDE) controller for coupling to one or more IDE devices, a floppy disk (FD) controller for coupling to one or more floppy disk drives, a keyboard controller for coupling to a keyboard, and a mouse controller for coupling to a mouse. Known “south” bridges also include a parallel port (PP) controller for coupling to one or more parallel port devices, and two serial port (SP) controllers for coupling to serial port devices.
To increase hardware expansion capabilities of computer systems, modern “south” bridges also include general purpose input/output (GPIO) circuitry and corresponding GPIO terminals or pins. South bridges are typically integrated circuits housed in device packages, and the GPIO pins are typically arranged on one or more surfaces of the device packages. The GPIO circuitry typically includes one or more GPIO data registers, and each of the GPIO data registers typically includes multiple bit positions. Each bit position of the GPIO data registers typically corresponds to a different GPIO pin, and a logic value stored in a bit position of a given GPIO data register typically determines a voltage level of an electrical signal driven upon the corresponding GPIO pin.
A new device may be added to a computer system having a south bridge including GPIO circuitry and corresponding GPIO pins by coupling a control interface of the new device to one or more of the GPIO pins, and installing a software driver for the new device which stores logic values in the bit positions of one or more GPIO data registers corresponding to the GPIO pins.
It is noted that the GPIO pins coupled to the new device, and used to control the new device, are in effect dedicated to the new device as the software driver of the new device has exclusive control over the voltage levels of electrical signals driven upon the GPIO pins coupled to the new device. This GPIO pin dedication becomes a problem when one wishes to access multiple devices via a single set of GPIO pins.